#include <string>
#include <iostream>
using namespace std;

#ifndef Meeting_H_
#define Meeting_H_

class Meeting {

public:
	//Default Constructor
	Meeting();
	//Destructor
	~Meeting();
	//Copy Constructor
	Meeting(const Meeting& m);
	//Constructor for regular meetings
	Meeting(const float start_t,const float end_t,string subject);
	
	void printMeet();
	const float getStartHour() const;

	//This method will be dynamically called according to the type of meeting defined. It will and determine whether there is an overlap according to the type 
	//of the meeting (base or extended) : if the meeting is from the base type then we will compare by hours only and if it is from the extended 
	//type we will compare also by attendees
	virtual const bool overlapWith(const Meeting& m) const; //TODO: I chabge it add const at end

private:
	float start_t;
	float end_t;
	string subject;
		
	void setStartHour(const float t);	
	const float getEndHour() const;
	void setEndHour(const float t);
	const string getSubject() const;	
	void setSubject(const string subj);
	
};

#endif